{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# scikit-learn中的PCA使用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = np.empty((100, 2))\n",
    "X[:,0] = np.random.uniform(0., 100., size=100)\n",
    "X[:,1] = 0.75 * X[:,0] + 3. + np.random.normal(0, 10., size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.decomposition import PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PCA(copy=True, iterated_power='auto', n_components=1, random_state=None,\n",
       "  svd_solver='auto', tol=0.0, whiten=False)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca = PCA(n_components=1)\n",
    "pca.fit(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.7729643 , -0.63444952]])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.components_ # 和我们自己封装的方法得到的向量刚好相反，不过不用担心，结果是不影响地"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_reduction = pca.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 1)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_reduction.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_restore = pca.inverse_transform(X_reduction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 2)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_restore.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''数据绘制,可以看出降维会导致数据丢失，还原(inverse)也没用'''\n",
    "plt.scatter(X[:,0], X[:,1], color='b', alpha=0.5)\n",
    "plt.scatter(X_restore[:,0], X_restore[:,1], color='r', alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 真实数据中使用PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "digits = datasets.load_digits()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = digits.data\n",
    "y = digits.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=666)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1347, 64)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 0 ns, sys: 0 ns, total: 0 ns\n",
      "Wall time: 26.2 µs\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n",
       "           metric_params=None, n_jobs=1, n_neighbors=5, p=2,\n",
       "           weights='uniform')"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''K近邻算法'''\n",
    "% %time\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "\n",
    "knn_clf = KNeighborsClassifier()\n",
    "knn_clf.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.98666666666666669"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knn_clf.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "'''PCA进行降维,训练耗时会减少很多'''\n",
    "from sklearn.decomposition import PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "pca = PCA(n_components=2)\n",
    "pca.fit(X_train)\n",
    "X_train_reduction = pca.transform(X_train)\n",
    "X_test_reduction = pca.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 0 ns, sys: 0 ns, total: 0 ns\n",
      "Wall time: 21.9 µs\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n",
       "           metric_params=None, n_jobs=1, n_neighbors=5, p=2,\n",
       "           weights='uniform')"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "% %time\n",
    "knn_clf = KNeighborsClassifier()\n",
    "knn_clf.fit(X_train_reduction, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.60666666666666669"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''降维会降低准确度'''\n",
    "knn_clf.score(X_test_reduction, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 主成分所揭示的方差"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.14566817,  0.13735469])"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''训中最合适的降到的维度'''\n",
    "pca.explained_variance_ratio_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  1.45668166e-01,   1.37354688e-01,   1.17777287e-01,\n",
       "         8.49968861e-02,   5.86018996e-02,   5.11542945e-02,\n",
       "         4.26605279e-02,   3.60119663e-02,   3.41105814e-02,\n",
       "         3.05407804e-02,   2.42337671e-02,   2.28700570e-02,\n",
       "         1.80304649e-02,   1.79346003e-02,   1.45798298e-02,\n",
       "         1.42044841e-02,   1.29961033e-02,   1.26617002e-02,\n",
       "         1.01728635e-02,   9.09314698e-03,   8.85220461e-03,\n",
       "         7.73828332e-03,   7.60516219e-03,   7.11864860e-03,\n",
       "         6.85977267e-03,   5.76411920e-03,   5.71688020e-03,\n",
       "         5.08255707e-03,   4.89020776e-03,   4.34888085e-03,\n",
       "         3.72917505e-03,   3.57755036e-03,   3.26989470e-03,\n",
       "         3.14917937e-03,   3.09269839e-03,   2.87619649e-03,\n",
       "         2.50362666e-03,   2.25417403e-03,   2.20030857e-03,\n",
       "         1.98028746e-03,   1.88195578e-03,   1.52769283e-03,\n",
       "         1.42823692e-03,   1.38003340e-03,   1.17572392e-03,\n",
       "         1.07377463e-03,   9.55152460e-04,   9.00017642e-04,\n",
       "         5.79162563e-04,   3.82793717e-04,   2.38328586e-04,\n",
       "         8.40132221e-05,   5.60545588e-05,   5.48538930e-05,\n",
       "         1.08077650e-05,   4.01354717e-06,   1.23186515e-06,\n",
       "         1.05783059e-06,   6.06659094e-07,   5.86686040e-07,\n",
       "         1.71368535e-33,   7.44075955e-34,   7.44075955e-34,\n",
       "         7.15189459e-34])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.decomposition import PCA\n",
    "\n",
    "pca = PCA(n_components=X_train.shape[1])\n",
    "pca.fit(X_train)\n",
    "pca.explained_variance_ratio_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "'''可以看出降维的维度数对整体数据的保留比是多少'''\n",
    "plt.plot([i for i in range(X_train.shape[1])], \n",
    "         [np.sum(pca.explained_variance_ratio_[:i+1]) for i in range(X_train.shape[1])])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PCA(copy=True, iterated_power='auto', n_components=0.95, random_state=None,\n",
       "  svd_solver='auto', tol=0.0, whiten=False)"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''需要保留95%的数据'''\n",
    "pca = PCA(0.95)\n",
    "pca.fit(X_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "28"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca.n_components_ # 只用28个维度就能保留95%的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "'''重新更新训练和测试数据'''\n",
    "X_train_reduction = pca.transform(X_train)\n",
    "X_test_reduction = pca.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 0 ns, sys: 0 ns, total: 0 ns\n",
      "Wall time: 3.77 ms\n"
     ]
    }
   ],
   "source": [
    "%%time \n",
    "knn_clf = KNeighborsClassifier()\n",
    "knn_clf.fit(X_train_reduction, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.97999999999999998"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knn_clf.score(X_test_reduction, y_test) # 准确度几乎不受影响"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据降到2维使用PCA对数据进行降维可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "pca = PCA(n_components=2)\n",
    "pca.fit(X)\n",
    "X_reduction = pca.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(10):\n",
    "    plt.scatter(X_reduction[y==i,0], X_reduction[y==i,1], alpha=0.8) # y==i表示不同的类别\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
